// order_ms_structs.h
// message struct

/********************************/
/*			주문관련			*/
/********************************/
// 1. 매수
//MQID	TRID	계좌번호	비밀번호	종목번호	매수수량	매수단가	호가유형
struct msg_maesu_send
{
	long mtype;
	char trid[6];
	char acc[11];
	char passwd[4];
	char stock_num[20];
	char amount[20];
	char price[20];
	char type[4];
};

// 2. 주문응답
// 2.1. 매수-응답
// 2.2. 정정-응답
// 2.3. 취소-응답
	// 셋다 같은 구조 사용.
//MQID	TRID	주문번호
struct msg_order_recv
{
	long mtype;
	char mqid[6];
	char trid[6];
	char order_num[4];
};


// 3. 정정
// MQID	TRID	계좌번호	비밀번호	원주문번호	종목번호	정정수량	정정단가	호가유형	사용자ID
struct msg_modify_send
{
	long mtype;
	char mqid[6];
	char trid[6];
	char acc[11];
	char passwd[4];
	char origin_order_num[4];
	char stock_num[12];
	char amount[20];
	char price[20];
	char type[4];
	char user_id[20];
};


// 4. 취소
//MQID	TRID	계좌번호	비밀번호	원주문번호	종목번호	취소수량	사용자ID
struct msg_cancel_send
{
	long mtype;
	char mqid[6];
	char trid[6];
	char acc[11];
	char passwd[4];
	char origin_order_num[4];
	char stock_num[12];
	char amount[20];
	char user_id[20];
};

// 5. 주문관련 내역 요청
// 5.1. 실시간체결
// 5.2. 실시간미체결
// 5.3. 실시간잔고조회
// 5.4. 주문가능금액
// MQID	TRID	계좌번호	비밀번호
struct msg_exe_send
{
	long mtype;
	char mqid[6];
	char trid[6];
	char acc[11];
	char passwd[4];
};


// 6. 체결내역 - 응답
// 6.1. 실시간체결내역 - 응답
// 6.2. 실시간미체결내역 - 응답
//MQID	TRID	주문번호	원주문번호	종목번호	종목명	주문구분	주문수량	주문가격	체결수량	미체결수량	체결가격	확인수량	주문처리	호가구분	시장명	처리시간	사용자ID
struct msg_exe_recv
{
	long mtype;
	char mqid[6];
	char trid[6];
	char order_num[4];
	char origin_order_num[4];
	char stock_num[12];
	char stock_name[50];
	char order_type[4];
	char amount[20];
	char price[20];
	char exe_amount[20];
	char un_exe_amount[20];
	char exe_price[20];
	char confirm_amount[20];
	char order_proccess_type[4];
	char price_type[4];
	char market_name[50];
	char exe_time[50];
	char user_id[20];
};


// 7. 실시간잔고조회 - 응답
//MQID	TRID	종목코드	종목명	잔고구분	D+2수량	매도가능	보유단가	매입단가	현재가	금일매수	금일매도	시장명
struct msg_inven_recv
{
	long mtype;
	char mqid[6];
	char trid[6];
	char stock_num[12];
	char stock_name[50];
	char inven_type[4];
	char d2_balance[20];
	char possible_sell_amount[20];
	char price[20];
	char buy_price[20];
	char cur_price[20];
	char today_buy[20];
	char today_sell[20];
	char market_name[20];
};


// 8. 주문가능금액 - 응답

//MQID	TRID	주문가능금액	주문가능수량	코스닥가능금액	100%가능금	100%가능수량	재사용가능금	D+1예수금	D+2예수금	주문가능현금	주문가능대용	유가예수금	대용금	미수금	증거금현금	증거금대용
struct msg_orderpossible_recv
{
	long mtype;
	char mqid[6];
	char trid[6];
	char possible_price[20];
	char possible_amount[20];
	char kosdaq_p_price[20];
	char possible100_price[20];
	char possible100_amount[20];
	char reuse_possible_price[20];
	char d1_balance[20];
	char d2_balance[20];
	char possible_cash[20];
	char possible_dy[20];
	char yesu[20];
	char dy[20];
	char misu[20];
	char w_cash[20];
	char w_dy[20];
};